/**
 *
 * @param {Array} allRoutes 项目所有的路由
 * @param {Array} manuList 服务器返回的菜单名字/路由名字
 * @returns {Array} 计算好的用户路由
 */
function recursionRoutes(allRoutes = [], manuList = []) {
  let userRoutes = []
  // console.log(allRoutes, manuList)
  // 遍历 allRoutes 对比的条件就是 找 menuList 中title和allRoutes 中每个 route 对象中的meta属性中的title相同的选项, 如果相同, 说明需要找个route对象, 那就添加到数组中 userRoutes

  manuList.forEach(item => {
    allRoutes.forEach(route => {
      if (route.meta?.title === item.title) {
        route.meta.name = item.name // 将菜单的名字映射到路由对象中
        if (route.children && route.children.length > 0) {
          route.children = recursionRoutes(route.children, item.children)
        }
        // 符合条件筛选出来添加到数组中
        userRoutes.push(route)
      }
    })
  })

  return userRoutes
}

export default recursionRoutes
